-; UltimateKEYS (for AutoHotkey v1.1).ahk - 2022-11-14
+; UltimateKEYS (for AutoHotkey v1.1).ahk - 2023-01-07
; Website : www.ultimatekeys.info (pieter-degroote.github.io/UltimateKEYS/)
cmpAcuteAccent.item["A"] := "{u+00c1}" ; (Á) A with acute
cmpAcuteAccent.item["c"] := "{u+0107}" ; (ć) c with acute
cmpAcuteAccent.item["C"] := "{u+0106}" ; (Ć) C with acute
+cmpAcuteAccent.item["d"] := "{u+1e09}" ; (ḉ) c with cedilla and acute
+cmpAcuteAccent.item["D"] := "{u+1e08}" ; (Ḉ) C with cedilla and acute
cmpAcuteAccent.item["e"] := "{u+00e9}" ; (é) e with acute
cmpAcuteAccent.item["E"] := "{u+00c9}" ; (É) E with acute
cmpAcuteAccent.item["g"] := "{u+01f5}" ; (ǵ) g with acute
cmpAcuteAccent.item["G"] := "{u+01f4}" ; (Ǵ) G with acute
cmpAcuteAccent.item["i"] := "{u+00ed}" ; (í) i with acute
cmpAcuteAccent.item["I"] := "{u+00cd}" ; (Í) I with acute
+cmpAcuteAccent.item["j"] := "{u+01ff}" ; (ǿ) o with stroke and acute
+cmpAcuteAccent.item["J"] := "{u+01fe}" ; (Ǿ) O with stroke and acute
cmpAcuteAccent.item["k"] := "{u+1e31}" ; (ḱ) k with acute
cmpAcuteAccent.item["K"] := "{u+1e30}" ; (Ḱ) K with acute
cmpAcuteAccent.item["l"] := "{u+013a}" ; (ĺ) l with acute
cmpAcuteAccent.item["O"] := "{u+00d3}" ; (Ó) O with acute
cmpAcuteAccent.item["p"] := "{u+1e55}" ; (ṕ) p with acute
cmpAcuteAccent.item["P"] := "{u+1e54}" ; (Ṕ) P with acute
+cmpAcuteAccent.item["q"] := "{u+01fd}" ; (ǽ) ae with acute
+cmpAcuteAccent.item["Q"] := "{u+01fc}" ; (Ǽ) AE with acute
cmpAcuteAccent.item["r"] := "{u+0155}" ; (ŕ) r with acute
cmpAcuteAccent.item["R"] := "{u+0154}" ; (Ŕ) R with acute
cmpAcuteAccent.item["s"] := "{u+015b}" ; (ś) s with acute
cmpAcuteAccent.item["U"] := "{u+00da}" ; (Ú) U with acute
cmpAcuteAccent.item["w"] := "{u+1e83}" ; (ẃ) w with acute
cmpAcuteAccent.item["W"] := "{u+1e82}" ; (Ẃ) W with acute
+cmpAcuteAccent.item["x"] := "{u+01fb}" ; (ǻ) a with ring above and acute
+cmpAcuteAccent.item["X"] := "{u+01fa}" ; (Ǻ) A with ring above and acute
cmpAcuteAccent.item["y"] := "{u+00fd}" ; (ý) y with acute
cmpAcuteAccent.item["Y"] := "{u+00dd}" ; (Ý) Y with acute
cmpAcuteAccent.item["z"] := "{u+017a}" ; (ź) z with acute
; Compose : Macron and Stroke (additional) (_)
cmpMacronStrokeAdd := ComObjCreate("Scripting.Dictionary")
+cmpMacronStrokeAdd.item["f"] := "{u+1e9d}" ; (ẝ) long s with high stroke
cmpMacronStrokeAdd.item["g"] := "{u+1e21}" ; (ḡ) g with macron
cmpMacronStrokeAdd.item["G"] := "{u+1e20}" ; (Ḡ) G with macron
cmpMacronStrokeAdd.item["i"] := "{u+0268}" ; (ɨ) i with stroke
cmpMacronStrokeAdd.item["L"] := "{u+023d}" ; (Ƚ) L with bar
cmpMacronStrokeAdd.item["o"] := "{u+0275}" ; (ɵ) barred o
cmpMacronStrokeAdd.item["O"] := "{u+019f}" ; (Ɵ) O with middle tilde
+cmpMacronStrokeAdd.item["q"] := "{u+01e3}" ; (ǣ) ae with macron
+cmpMacronStrokeAdd.item["Q"] := "{u+01e2}" ; (Ǣ) AE with macron
cmpMacronStrokeAdd.item["u"] := "{u+0289}" ; (ʉ) u with bar
cmpMacronStrokeAdd.item["U"] := "{u+0244}" ; (Ʉ) U with bar
cmpMacronStrokeAdd.item["y"] := "{u+024f}" ; (ɏ) y with stroke
cmpStroke.item["C"] := "{u+023b}" ; (Ȼ) C with stroke
cmpStroke.item["e"] := "{u+0247}" ; (ɇ) e with stroke
cmpStroke.item["E"] := "{u+0246}" ; (Ɇ) E with stroke
+cmpStroke.item["f"] := "{u+1e9c}" ; (ẜ) long s with diagonal stroke
cmpStroke.item["g"] := "{u+a7a1}" ; (ꞡ) g with oblique stroke
cmpStroke.item["G"] := "{u+a7a0}" ; (Ꞡ) G with oblique stroke
cmpStroke.item["k"] := "{u+a7a3}" ; (ꞣ) k with oblique stroke
cmpStroke.item["N"] := "{u+a7a4}" ; (Ꞥ) N with oblique stroke
cmpStroke.item["o"] := "{u+00f8}" ; (ø) o with stroke
cmpStroke.item["O"] := "{u+00d8}" ; (Ø) O with stroke
-cmpStroke.item["q"] := "{u+1e9c}" ; (ẜ) long s with diagonal stroke
cmpStroke.item["r"] := "{u+a7a7}" ; (ꞧ) r with oblique stroke
cmpStroke.item["R"] := "{u+a7a6}" ; (Ꞧ) R with oblique stroke
cmpStroke.item["s"] := "{u+a7a9}" ; (ꞩ) s with oblique stroke
cmpDoubleAcute.item[" "] := "{u+02dd}" ; (˝) double acute accent
-; Compose : Double Grave Accent (G)
-
-cmpDoubleGrave := ComObjCreate("Scripting.Dictionary")
-cmpDoubleGrave.item["a"] := "{u+0201}" ; (ȁ) a with double grave
-cmpDoubleGrave.item["A"] := "{u+0200}" ; (Ȁ) A with double grave
-cmpDoubleGrave.item["e"] := "{u+0205}" ; (ȅ) e with double grave
-cmpDoubleGrave.item["E"] := "{u+0204}" ; (Ȅ) E with double grave
-cmpDoubleGrave.item["i"] := "{u+0209}" ; (ȉ) i with double grave
-cmpDoubleGrave.item["I"] := "{u+0208}" ; (Ȉ) I with double grave
-cmpDoubleGrave.item["o"] := "{u+020d}" ; (ȍ) o with double grave
-cmpDoubleGrave.item["O"] := "{u+020c}" ; (Ȍ) O with double grave
-cmpDoubleGrave.item["r"] := "{u+0211}" ; (ȑ) r with double grave
-cmpDoubleGrave.item["R"] := "{u+0210}" ; (Ȑ) R with double grave
-cmpDoubleGrave.item["u"] := "{u+0215}" ; (ȕ) u with double grave
-cmpDoubleGrave.item["U"] := "{u+0214}" ; (Ȕ) U with double grave
-
-
-; Compose : Inverted Breve (B)
-
-cmpInvertedBreve := ComObjCreate("Scripting.Dictionary")
-cmpInvertedBreve.item["a"] := "{u+0203}" ; (ȃ) a with inverted breve
-cmpInvertedBreve.item["A"] := "{u+0202}" ; (Ȃ) A with inverted breve
-cmpInvertedBreve.item["e"] := "{u+0207}" ; (ȇ) e with inverted breve
-cmpInvertedBreve.item["E"] := "{u+0206}" ; (Ȇ) E with inverted breve
-cmpInvertedBreve.item["i"] := "{u+020b}" ; (ȋ) i with inverted breve
-cmpInvertedBreve.item["I"] := "{u+020a}" ; (Ȋ) I with inverted breve
-cmpInvertedBreve.item["o"] := "{u+020f}" ; (ȏ) o with inverted breve
-cmpInvertedBreve.item["O"] := "{u+020e}" ; (Ȏ) O with inverted breve
-cmpInvertedBreve.item["r"] := "{u+0213}" ; (ȓ) r with inverted breve
-cmpInvertedBreve.item["R"] := "{u+0212}" ; (Ȓ) R with inverted breve
-cmpInvertedBreve.item["u"] := "{u+0217}" ; (ȗ) u with inverted breve
-cmpInvertedBreve.item["U"] := "{u+0216}" ; (Ȗ) U with inverted breve
-
-
; Compose : Hook and Horn (h)
cmpSmallH := ComObjCreate("Scripting.Dictionary")
cmpSmallH.item["Z"] := "{u+0224}" ; (Ȥ) Z with hook
-; Compose : Retroflex Hook, Crossed-Tail and Variations (f)
+; Compose : Retroflex Hook, Right Hook, Crossed-Tail and Variations (f)
cmpSmallF := ComObjCreate("Scripting.Dictionary")
-cmpSmallF.item["a"] := "{u+1d8f}" ; (ᶏ) a with retroflex hook
cmpSmallF.item["d"] := "{u+1d91}" ; (ᶑ) d with hook and tail
-cmpSmallF.item["e"] := "{u+1d92}" ; (ᶒ) e with retroflex hook
-cmpSmallF.item["f"] := "{u+1d93}" ; (ᶓ) small letter open e with retroflex hook
+cmpSmallF.item["e"] := "{u+025d}" ; (ɝ) small letter reversed open e with hook
cmpSmallF.item["g"] := "{u+ab36}" ; (ꬶ) small letter script g with crossed-tail
cmpSmallF.item["h"] := "{u+a727}" ; (ꜧ) small letter heng
cmpSmallF.item["H"] := "{u+a726}" ; (Ꜧ) capital letter heng
-cmpSmallF.item["i"] := "{u+1d96}" ; (ᶖ) i with retroflex hook
cmpSmallF.item["j"] := "{u+029d}" ; (ʝ) j with crossed-tail
cmpSmallF.item["l"] := "{u+026d}" ; (ɭ) l with retroflex hook
cmpSmallF.item["n"] := "{u+0273}" ; (ɳ) n with retroflex hook
-cmpSmallF.item["o"] := "{u+1d97}" ; (ᶗ) small letter open o with retroflex hook
-cmpSmallF.item["q"] := "{u+1d90}" ; (ᶐ) Latin small letter alpha with retroflex hook
cmpSmallF.item["r"] := "{u+027e}" ; (ɾ) r with fishhook
cmpSmallF.item["t"] := "{u+0288}" ; (ʈ) t with retroflex hook
cmpSmallF.item["T"] := "{u+01ae}" ; (Ʈ) T with retroflex hook
-cmpSmallF.item["u"] := "{u+1d99}" ; (ᶙ) u with retroflex hook
cmpSmallF.item["v"] := "{u+2c71}" ; (ⱱ) v with right hook
cmpSmallF.item["w"] := "{u+2c73}" ; (ⱳ) w with right hook
cmpSmallF.item["W"] := "{u+2c72}" ; (Ⱳ) W with right hook
cmpSmallL := ComObjCreate("Scripting.Dictionary")
cmpSmallL.item["a"] := "{u+0251}" ; (ɑ) Latin small letter alpha
cmpSmallL.item["A"] := "{u+2c6d}" ; (Ɑ) Latin capital letter alpha
+cmpSmallL.item["b"] := "{u+025e}" ; (ɞ) small letter closed reversed open e
cmpSmallL.item["d"] := "{u+1e9f}" ; (ẟ) Latin small letter delta
cmpSmallL.item["e"] := "{u+025b}" ; (ɛ) small letter open e (Latin small epsilon)
cmpSmallL.item["E"] := "{u+0190}" ; (Ɛ) capital letter open E (Latin capital epsilon)
cmpSmallL.item["f"] := "{u+0278}" ; (ɸ) Latin small letter phi
cmpSmallL.item["g"] := "{u+0261}" ; (ɡ) small letter script g
cmpSmallL.item["G"] := "{u+a7ac}" ; (Ɡ) capital letter script G
+cmpSmallL.item["h"] := "{u+01a3}" ; (ƣ) small letter gha
+cmpSmallL.item["H"] := "{u+01a2}" ; (Ƣ) capital letter gha
cmpSmallL.item["i"] := "{u+0269}" ; (ɩ) Latin small letter iota
cmpSmallL.item["I"] := "{u+0196}" ; (Ɩ) Latin capital letter iota
cmpSmallL.item["j"] := "{u+0263}" ; (ɣ) Latin small letter gamma
cmpSmallL.item["J"] := "{u+0194}" ; (Ɣ) Latin capital letter gamma
cmpSmallL.item["k"] := "{u+0138}" ; (ĸ) small letter kra
+cmpSmallL.item["l"] := "{u+019b}" ; (ƛ) Latin small letter lambda with stroke (barred lambda)
cmpSmallL.item["m"] := "{u+0270}" ; (ɰ) small letter turned m with long leg
cmpSmallL.item["n"] := "{u+019e}" ; (ƞ) small letter n with long right leg
cmpSmallL.item["N"] := "{u+0220}" ; (Ƞ) capital letter N with long right leg
cmpSmallL.item["o"] := "{u+0254}" ; (ɔ) small letter open o
cmpSmallL.item["O"] := "{u+0186}" ; (Ɔ) capital letter open O
-cmpSmallL.item["q"] := "{u+01a3}" ; (ƣ) small letter gha
-cmpSmallL.item["Q"] := "{u+01a2}" ; (Ƣ) capital letter gha
+cmpSmallL.item["q"] := "{u+0277}" ; (ɷ) Latin small letter closed omega
cmpSmallL.item["s"] := "{u+0283}" ; (ʃ) small letter esh
cmpSmallL.item["S"] := "{u+01a9}" ; (Ʃ) capital letter esh
cmpSmallL.item["u"] := "{u+028a}" ; (ʊ) Latin small letter upsilon
cmpSmallR := ComObjCreate("Scripting.Dictionary")
cmpSmallR.item["a"] := "{u+0250}" ; (ɐ) small letter turned a
cmpSmallR.item["A"] := "{u+2c6f}" ; (Ɐ) capital letter turned A
-cmpSmallR.item["c"] := "{u+025c}" ; (ɜ) small letter reversed open e
+cmpSmallR.item["b"] := "{u+025c}" ; (ɜ) small letter reversed open e
cmpSmallR.item["d"] := "{u+018d}" ; (ƍ) Latin small letter turned delta
cmpSmallR.item["e"] := "{u+01dd}" ; (ǝ) small letter turned e
cmpSmallR.item["E"] := "{u+018e}" ; (Ǝ) capital letter reversed E
cmpSmallR.item["K"] := "{u+a7b0}" ; (Ʞ) capital letter turned K
cmpSmallR.item["m"] := "{u+026f}" ; (ɯ) small letter turned m
cmpSmallR.item["M"] := "{u+019c}" ; (Ɯ) capital letter turned M
-cmpSmallR.item["o"] := "{u+0264}" ; (ɤ) small letter rams horn
+cmpSmallR.item["o"] := "{u+0264}" ; (ɤ) small letter ram's horn (baby gamma)
cmpSmallR.item["q"] := "{u+0252}" ; (ɒ) Latin small letter turned alpha
cmpSmallR.item["Q"] := "{u+2c70}" ; (Ɒ) Latin capital letter turned alpha
cmpSmallR.item["r"] := "{u+0279}" ; (ɹ) small letter turned r
cmpSemicolon.item["b"] := "{u+2022}" ; (•) bullet
cmpSemicolon.item[";"] := "{u+2022}" ; (•) bullet
cmpSemicolon.item["t"] := "{u+2023}" ; (‣) triangular bullet
+cmpSemicolon.item[">"] := "{u+2023}" ; (‣) triangular bullet
cmpSemicolon.item["h"] := "{u+2043}" ; (⁃) hyphen bullet
+cmpSemicolon.item["-"] := "{u+2043}" ; (⁃) hyphen bullet
cmpSemicolon.item["w"] := "{u+25e6}" ; (◦) white bullet
+cmpSemicolon.item["o"] := "{u+25e6}" ; (◦) white bullet
cmpAcuteAccent.item["1"] := "{u+2032}" ; (′) prime
cmpAcuteAccent.item["2"] := "{u+2033}" ; (″) double prime
cmpAcuteAccent.item["3"] := "{u+2034}" ; (‴) triple prime
cmpBracketLeft := ComObjCreate("Scripting.Dictionary")
cmpBracketRight := ComObjCreate("Scripting.Dictionary")
+cmpBackslash := ComObjCreate("Scripting.Dictionary")
cmpCedillaOgonek.item[chr(34)] := "{u+201e}" ; („) double low-9 quotation mark
cmpDiaeresis.item[","] := "{u+201e}" ; („) double low-9 quotation mark
cmpCedillaOgonek.item["'"] := "{u+201a}" ; (‚) single low-9 quotation mark
cmpBracketLeft.item["'"] := "{u+2018}" ; (‘) left single quotation mark
cmpAcuteAccent.item["]"] := "{u+2019}" ; (’) right single quotation mark
cmpBracketRight.item["'"] := "{u+2019}" ; (’) right single quotation mark
+cmpBackslash.item[chr(34)] := "{u+201f}" ; (‟) double high-reversed-9 quotation mark
+cmpDiaeresis.item["\"] := "{u+201f}" ; (‟) double high-reversed-9 quotation mark
+cmpBackslash.item["'"] := "{u+201b}" ; (‛) single high-reversed-9 quotation mark
+cmpAcuteAccent.item["\"] := "{u+201b}" ; (‛) single high-reversed-9 quotation mark
cmpLessThan.item["<"] := "{u+00ab}" ; («) left-pointing double angle quotation mark
cmpLessThan.item[chr(34)] := "{u+00ab}" ; («) left-pointing double angle quotation mark
cmpDiaeresis.item["<"] := "{u+00ab}" ; («) left-pointing double angle quotation mark
cmpAcuteAccent.item[">"] := "{u+203a}" ; (›) right-pointing single angle quotation mark
-; Compose : Letters with Two Diacritical Marks
+; Compose : Double Grave Accent (G)
-cmpCapitalC := ComObjCreate("Scripting.Dictionary")
-cmpSmallE := ComObjCreate("Scripting.Dictionary")
-cmpCapitalE := ComObjCreate("Scripting.Dictionary")
-cmpCapitalV := ComObjCreate("Scripting.Dictionary")
-cmpArrow.item[chr(34)] := "{u+01df}" ; (ǟ) a with diaeresis and macron
-cmpCapitalA.item[chr(34)] := "{u+01de}" ; (Ǟ) A with diaeresis and macron
-cmpArrow.item["."] := "{u+01e1}" ; (ǡ) a with dot above and macron
-cmpCapitalA.item["."] := "{u+01e0}" ; (Ǡ) A with dot above and macron
-cmpArrow.item["'"] := "{u+01fb}" ; (ǻ) a with ring above and acute
-cmpCapitalA.item["'"] := "{u+01fa}" ; (Ǻ) A with ring above and acute
-cmpCircumflex.item["'"] := "{u+1e09}" ; (ḉ) c with cedilla and acute
-cmpCapitalC.item["'"] := "{u+1e08}" ; (Ḉ) C with cedilla and acute
-cmpSmallE.item["-"] := "{u+01e3}" ; (ǣ) ae with macron
-cmpCapitalE.item["-"] := "{u+01e2}" ; (Ǣ) AE with macron
-cmpSmallE.item["'"] := "{u+01fd}" ; (ǽ) ae with acute
-cmpCapitalE.item["'"] := "{u+01fc}" ; (Ǽ) AE with acute
-cmpRingAbove.item[","] := "{u+01ed}" ; (ǭ) o with ogonek and macron
-cmpCapitalO.item[","] := "{u+01ec}" ; (Ǭ) O with ogonek and macron
-cmpRingAbove.item["'"] := "{u+01ff}" ; (ǿ) o with stroke and acute
-cmpCapitalO.item["'"] := "{u+01fe}" ; (Ǿ) O with stroke and acute
-cmpRingAbove.item[chr(34)] := "{u+022b}" ; (ȫ) o with diaeresis and macron
-cmpCapitalO.item[chr(34)] := "{u+022a}" ; (Ȫ) O with diaeresis and macron
-cmpRingAbove.item["~"] := "{u+022d}" ; (ȭ) o with tilde and macron
-cmpCapitalO.item["~"] := "{u+022c}" ; (Ȭ) O with tilde and macron
-cmpRingAbove.item["."] := "{u+0231}" ; (ȱ) o with dot above and macron
-cmpCapitalO.item["."] := "{u+0230}" ; (Ȱ) O with dot above and macron
-cmpCaron.item["-"] := "{u+01d6}" ; (ǖ) u with diaeresis and macron
-cmpCapitalV.item["-"] := "{u+01d5}" ; (Ǖ) U with diaeresis and macron
-cmpCaron.item["'"] := "{u+01d8}" ; (ǘ) u with diaeresis and acute
-cmpCapitalV.item["'"] := "{u+01d7}" ; (Ǘ) U with diaeresis and acute
-cmpCaron.item["v"] := "{u+01da}" ; (ǚ) u with diaeresis and caron
-cmpCapitalV.item["v"] := "{u+01d9}" ; (Ǚ) U with diaeresis and caron
-cmpCaron.item["``"] := "{u+01dc}" ; (ǜ) u with diaeresis and grave
-cmpCapitalV.item["``"] := "{u+01db}" ; (Ǜ) U with diaeresis and grave
+cmpCapitalG := ComObjCreate("Scripting.Dictionary")
+cmpCapitalG.item["a"] := "{u+0201}" ; (ȁ) a with double grave
+cmpCapitalG.item["A"] := "{u+0200}" ; (Ȁ) A with double grave
+cmpCapitalG.item["e"] := "{u+0205}" ; (ȅ) e with double grave
+cmpCapitalG.item["E"] := "{u+0204}" ; (Ȅ) E with double grave
+cmpCapitalG.item["i"] := "{u+0209}" ; (ȉ) i with double grave
+cmpCapitalG.item["I"] := "{u+0208}" ; (Ȉ) I with double grave
+cmpCapitalG.item["o"] := "{u+020d}" ; (ȍ) o with double grave
+cmpCapitalG.item["O"] := "{u+020c}" ; (Ȍ) O with double grave
+cmpCapitalG.item["r"] := "{u+0211}" ; (ȑ) r with double grave
+cmpCapitalG.item["R"] := "{u+0210}" ; (Ȑ) R with double grave
+cmpCapitalG.item["u"] := "{u+0215}" ; (ȕ) u with double grave
+cmpCapitalG.item["U"] := "{u+0214}" ; (Ȕ) U with double grave
+
+
+; Compose : Inverted Breve (B)
+
+cmpCapitalB := ComObjCreate("Scripting.Dictionary")
+cmpCapitalB.item["a"] := "{u+0203}" ; (ȃ) a with inverted breve
+cmpCapitalB.item["A"] := "{u+0202}" ; (Ȃ) A with inverted breve
+cmpCapitalB.item["e"] := "{u+0207}" ; (ȇ) e with inverted breve
+cmpCapitalB.item["E"] := "{u+0206}" ; (Ȇ) E with inverted breve
+cmpCapitalB.item["i"] := "{u+020b}" ; (ȋ) i with inverted breve
+cmpCapitalB.item["I"] := "{u+020a}" ; (Ȋ) I with inverted breve
+cmpCapitalB.item["o"] := "{u+020f}" ; (ȏ) o with inverted breve
+cmpCapitalB.item["O"] := "{u+020e}" ; (Ȏ) O with inverted breve
+cmpCapitalB.item["r"] := "{u+0213}" ; (ȓ) r with inverted breve
+cmpCapitalB.item["R"] := "{u+0212}" ; (Ȓ) R with inverted breve
+cmpCapitalB.item["u"] := "{u+0217}" ; (ȗ) u with inverted breve
+cmpCapitalB.item["U"] := "{u+0216}" ; (Ȗ) U with inverted breve
+
+
+; Compose : Circumflex Below (I)
+
+cmpCapitalI.item["d"] := "{u+1e13}" ; (ḓ) d with circumflex below
+cmpCapitalI.item["D"] := "{u+1e12}" ; (Ḓ) D with circumflex below
+cmpCapitalI.item["e"] := "{u+1e19}" ; (ḙ) e with circumflex below
+cmpCapitalI.item["E"] := "{u+1e18}" ; (Ḙ) E with circumflex below
+cmpCapitalI.item["l"] := "{u+1e3d}" ; (ḽ) l with circumflex below
+cmpCapitalI.item["L"] := "{u+1e3c}" ; (Ḽ) L with circumflex below
+cmpCapitalI.item["n"] := "{u+1e4b}" ; (ṋ) n with circumflex below
+cmpCapitalI.item["N"] := "{u+1e4a}" ; (Ṋ) N with circumflex below
+cmpCapitalI.item["t"] := "{u+1e71}" ; (ṱ) t with circumflex below
+cmpCapitalI.item["T"] := "{u+1e70}" ; (Ṱ) T with circumflex below
+cmpCapitalI.item["u"] := "{u+1e77}" ; (ṷ) u with circumflex below
+cmpCapitalI.item["U"] := "{u+1e76}" ; (Ṷ) U with circumflex below
+
+
+; Compose : Tilde Below (T)
+
+cmpCapitalT.item["e"] := "{u+1e1b}" ; (ḛ) e with tilde below
+cmpCapitalT.item["E"] := "{u+1e1a}" ; (Ḛ) E with tilde below
+cmpCapitalT.item["i"] := "{u+1e2d}" ; (ḭ) i with tilde below
+cmpCapitalT.item["I"] := "{u+1e2c}" ; (Ḭ) I with tilde below
+cmpCapitalT.item["u"] := "{u+1e75}" ; (ṵ) u with tilde below
+cmpCapitalT.item["U"] := "{u+1e74}" ; (Ṵ) U with tilde below
+
+
+; Compose : Line Below (L)
+
+cmpCapitalL := ComObjCreate("Scripting.Dictionary")
+cmpCapitalL.item["b"] := "{u+1e07}" ; (ḇ) b with line below
+cmpCapitalL.item["B"] := "{u+1e06}" ; (Ḇ) B with line below
+cmpCapitalL.item["d"] := "{u+1e0f}" ; (ḏ) d with line below
+cmpCapitalL.item["D"] := "{u+1e0e}" ; (Ḏ) D with line below
+cmpCapitalL.item["h"] := "{u+1e96}" ; (ẖ) h with line below
+cmpCapitalL.item["k"] := "{u+1e35}" ; (ḵ) k with line below
+cmpCapitalL.item["K"] := "{u+1e34}" ; (Ḵ) K with line below
+cmpCapitalL.item["l"] := "{u+1e3b}" ; (ḻ) l with line below
+cmpCapitalL.item["L"] := "{u+1e3a}" ; (Ḻ) L with line below
+cmpCapitalL.item["n"] := "{u+1e49}" ; (ṉ) n with line below
+cmpCapitalL.item["N"] := "{u+1e48}" ; (Ṉ) N with line below
+cmpCapitalL.item["r"] := "{u+1e5f}" ; (ṟ) r with line below
+cmpCapitalL.item["R"] := "{u+1e5e}" ; (Ṟ) R with line below
+cmpCapitalL.item["t"] := "{u+1e6f}" ; (ṯ) t with line below
+cmpCapitalL.item["T"] := "{u+1e6e}" ; (Ṯ) T with line below
+cmpCapitalL.item["z"] := "{u+1e95}" ; (ẕ) z with line below
+cmpCapitalL.item["Z"] := "{u+1e94}" ; (Ẕ) Z with line below
+
+
+; Compose : Ring Below, Breve Below and Diaeresis Below (R)
+
+cmpCapitalR := ComObjCreate("Scripting.Dictionary")
+cmpCapitalR.item["a"] := "{u+1e01}" ; (ḁ) a with ring below
+cmpCapitalR.item["A"] := "{u+1e00}" ; (Ḁ) A with ring below
+cmpCapitalR.item["h"] := "{u+1e2b}" ; (ḫ) h with breve below
+cmpCapitalR.item["H"] := "{u+1e2a}" ; (Ḫ) H with breve below
+cmpCapitalR.item["u"] := "{u+1e73}" ; (ṳ) u with diaeresis below
+cmpCapitalR.item["U"] := "{u+1e72}" ; (Ṳ) U with diaeresis below
+
+
+; Compose : Hook Above (<)
+
+cmpLessThan.item["a"] := "{u+1ea3}" ; (ả) a with hook above
+cmpLessThan.item["A"] := "{u+1ea2}" ; (Ả) A with hook above
+cmpLessThan.item["e"] := "{u+1ebb}" ; (ẻ) e with hook above
+cmpLessThan.item["E"] := "{u+1eba}" ; (Ẻ) E with hook above
+cmpLessThan.item["i"] := "{u+1ec9}" ; (ỉ) i with hook above
+cmpLessThan.item["I"] := "{u+1ec8}" ; (Ỉ) I with hook above
+cmpLessThan.item["o"] := "{u+1ecf}" ; (ỏ) o with hook above
+cmpLessThan.item["O"] := "{u+1ece}" ; (Ỏ) O with hook above
+cmpLessThan.item["u"] := "{u+1ee7}" ; (ủ) u with hook above
+cmpLessThan.item["U"] := "{u+1ee6}" ; (Ủ) U with hook above
+cmpLessThan.item["y"] := "{u+1ef7}" ; (ỷ) y with hook above
+cmpLessThan.item["Y"] := "{u+1ef6}" ; (Ỷ) Y with hook above
+
+
+; Compose : Dot Below (>)
+
+cmpGreaterThan.item["a"] := "{u+1ea1}" ; (ạ) a with dot below
+cmpGreaterThan.item["A"] := "{u+1ea0}" ; (Ạ) A with dot below
+cmpGreaterThan.item["b"] := "{u+1e05}" ; (ḅ) b with dot below
+cmpGreaterThan.item["B"] := "{u+1e04}" ; (Ḅ) B with dot below
+cmpGreaterThan.item["d"] := "{u+1e0d}" ; (ḍ) d with dot below
+cmpGreaterThan.item["D"] := "{u+1e0c}" ; (Ḍ) D with dot below
+cmpGreaterThan.item["e"] := "{u+1eb9}" ; (ẹ) e with dot below
+cmpGreaterThan.item["E"] := "{u+1eb8}" ; (Ẹ) E with dot below
+cmpGreaterThan.item["h"] := "{u+1e25}" ; (ḥ) h with dot below
+cmpGreaterThan.item["H"] := "{u+1e24}" ; (Ḥ) H with dot below
+cmpGreaterThan.item["i"] := "{u+1ecb}" ; (ị) i with dot below
+cmpGreaterThan.item["I"] := "{u+1eca}" ; (Ị) I with dot below
+cmpGreaterThan.item["k"] := "{u+1e33}" ; (ḳ) k with dot below
+cmpGreaterThan.item["K"] := "{u+1e32}" ; (Ḳ) K with dot below
+cmpGreaterThan.item["l"] := "{u+1e37}" ; (ḷ) l with dot below
+cmpGreaterThan.item["L"] := "{u+1e36}" ; (Ḷ) L with dot below
+cmpGreaterThan.item["m"] := "{u+1e43}" ; (ṃ) m with dot below
+cmpGreaterThan.item["M"] := "{u+1e42}" ; (Ṃ) M with dot below
+cmpGreaterThan.item["n"] := "{u+1e47}" ; (ṇ) n with dot below
+cmpGreaterThan.item["N"] := "{u+1e46}" ; (Ṇ) N with dot below
+cmpGreaterThan.item["o"] := "{u+1ecd}" ; (ọ) o with dot below
+cmpGreaterThan.item["O"] := "{u+1ecc}" ; (Ọ) O with dot below
+cmpGreaterThan.item["r"] := "{u+1e5b}" ; (ṛ) r with dot below
+cmpGreaterThan.item["R"] := "{u+1e5a}" ; (Ṛ) R with dot below
+cmpGreaterThan.item["s"] := "{u+1e63}" ; (ṣ) s with dot below
+cmpGreaterThan.item["S"] := "{u+1e62}" ; (Ṣ) S with dot below
+cmpGreaterThan.item["t"] := "{u+1e6d}" ; (ṭ) t with dot below
+cmpGreaterThan.item["T"] := "{u+1e6c}" ; (Ṭ) T with dot below
+cmpGreaterThan.item["u"] := "{u+1ee5}" ; (ụ) u with dot below
+cmpGreaterThan.item["U"] := "{u+1ee4}" ; (Ụ) U with dot below
+cmpGreaterThan.item["v"] := "{u+1e7f}" ; (ṿ) v with dot below
+cmpGreaterThan.item["V"] := "{u+1e7e}" ; (Ṿ) V with dot below
+cmpGreaterThan.item["w"] := "{u+1e89}" ; (ẉ) w with dot below
+cmpGreaterThan.item["W"] := "{u+1e88}" ; (Ẉ) W with dot below
+cmpGreaterThan.item["y"] := "{u+1ef5}" ; (ỵ) y with dot below
+cmpGreaterThan.item["Y"] := "{u+1ef4}" ; (Ỵ) Y with dot below
+cmpGreaterThan.item["z"] := "{u+1e93}" ; (ẓ) z with dot below
+cmpGreaterThan.item["Z"] := "{u+1e92}" ; (Ẓ) Z with dot below
; Compose : Miscellaneous Symbols and Dingbats
cmpDigitEight.item["n"] := "{u+27c1}" ; (⟁) white triangle containing small white triangle
-; Compose : Chess Symbols (C)
+; Compose : Chess Pieces and Playing Card Suit Symbols (C)
+cmpCapitalC := ComObjCreate("Scripting.Dictionary")
cmpCapitalC.item["k"] := "{u+2654}" ; (♔) white chess king
cmpCapitalC.item["q"] := "{u+2655}" ; (♕) white chess queen
cmpCapitalC.item["r"] := "{u+2656}" ; (♖) white chess rook
cmpCapitalC.item["B"] := "{u+265d}" ; (♝) black chess bishop
cmpCapitalC.item["N"] := "{u+265e}" ; (♞) black chess knight
cmpCapitalC.item["P"] := "{u+265f}" ; (♟) black chess pawn
-
-
-; Compose : Playing Card Suit Symbols (S)
-
-cmpCapitalS.item["c"] := "{u+2663}" ; (♣) black club suit
-cmpCapitalS.item["C"] := "{u+2667}" ; (♧) white club suit
-cmpCapitalS.item["d"] := "{u+2666}" ; (♦) black diamond suit
-cmpCapitalS.item["D"] := "{u+2662}" ; (♢) white diamond suit
-cmpCapitalS.item["h"] := "{u+2665}" ; (♥) black heart suit
-cmpCapitalS.item["H"] := "{u+2661}" ; (♡) white heart suit
-cmpCapitalS.item["p"] := "{u+2660}" ; (♠) black spade suit
-cmpCapitalS.item["P"] := "{u+2664}" ; (♤) white spade suit
+cmpCapitalC.item["c"] := "{u+2667}" ; (♧) white club suit
+cmpCapitalC.item["C"] := "{u+2663}" ; (♣) black club suit
+cmpCapitalC.item["d"] := "{u+2662}" ; (♢) white diamond suit
+cmpCapitalC.item["D"] := "{u+2666}" ; (♦) black diamond suit
+cmpCapitalC.item["h"] := "{u+2661}" ; (♡) white heart suit
+cmpCapitalC.item["H"] := "{u+2665}" ; (♥) black heart suit
+cmpCapitalC.item["s"] := "{u+2664}" ; (♤) white spade suit
+cmpCapitalC.item["S"] := "{u+2660}" ; (♠) black spade suit
; Compose : Dingbat Negative Circled Digits (n)
Send % cmpBreveSpecial.item[keyB]
else if (keyA == "=")
Send % cmpDoubleAcute.item[keyB]
- else if (keyA == "G")
- Send % cmpDoubleGrave.item[keyB]
- else if (keyA == "B")
- Send % cmpInvertedBreve.item[keyB]
else if (keyA == "h")
Send % cmpSmallH.item[keyB]
else if (keyA == "f")
Send % cmpBracketLeft.item[keyB]
else if (keyA == "]")
Send % cmpBracketRight.item[keyB]
- else if (keyA == "C")
- Send % cmpCapitalC.item[keyB]
- else if (keyA == "e")
- Send % cmpSmallE.item[keyB]
- else if (keyA == "E")
- Send % cmpCapitalE.item[keyB]
- else if (keyA == "V")
- Send % cmpCapitalV.item[keyB]
+ else if (keyA == "\")
+ Send % cmpBackslash.item[keyB]
+ else if (keyA == "G")
+ Send % cmpCapitalG.item[keyB]
+ else if (keyA == "B")
+ Send % cmpCapitalB.item[keyB]
+ else if (keyA == "L")
+ Send % cmpCapitalL.item[keyB]
+ else if (keyA == "R")
+ Send % cmpCapitalR.item[keyB]
else if (keyA == "6")
Send % cmpDigitSix.item[keyB]
+ else if (keyA == "C")
+ Send % cmpCapitalC.item[keyB]
keyA := "" ; avoids leaking content via debug properties
keyB := "" ; avoids leaking content via debug properties